<?php


namespace App\Constants;

/**
 * 快递常量
 * @author 陈奕文
 * @package App\Constants
 */
class Express
{
    // 快递鸟

    // RequestType 请求类型

    const BIRD_SUBSCRIBE = 1008; // 订阅接口

    const BIRD_SUBSCRIBE_ADD_VERSION = 8008; // 订阅接口（增值版）

    const BIRD_QUERY_RESULT = 101; // 查询订阅结果 轨迹推送接口

    const BIRD_QUERY_RESULT_ADD_VERSION = 102; // 查询订阅结果 轨迹推送接口（增值版）

    const BIRD_PAYMENT_STATUS = 107; // 货款状态

    const BIRD_DATA_TYPE = 2; // json的数据格式

    // 物流状态:0-无轨迹,1-已揽收, 2-在途中 201-到达派件城市，3-签收,4-问题件

    const NO_TRACE = 0; // 无轨迹

    const COLLECTED = 1; // 已揽收

    const IN_PASSAGE = 2; // 在途中

    const ARRIVED_CITY = 201; // 到达派件城市

    const SIGNED_IN = 3; // 签收

    const PROBLEM_PIECE = 4; // 问题件

    // 物流状态列表
    const LOGISTIC_STATUS_LIST = [
        self::NO_TRACE => '无轨迹',
        self::COLLECTED => '已揽收',
        self::IN_PASSAGE => '在途中',
        self::ARRIVED_CITY => '到达派件城市',
        self::SIGNED_IN => '签收',
        self::PROBLEM_PIECE => '问题件',
    ];

    // 增值物流状态 增值物流状态：
    //0-暂无轨迹信息
    //1-已揽收
    //2-在途中 201-到达派件城市  202-派件中 211-已放入快递柜或驿站
    //3-已签收 301-正常签收  302-派件异常后最终签收 304-代收签收 311-快递柜或驿站签收
    //4-问题件 401-发货无信息 402-超时未签收 403-超时未更新 404-拒收(退件) 405-派件异常 406-退货签收 407-退货未签收 412-快递柜或驿站超时未取
    const LOGISTIC_ADD_STATUS_LIST = [
      0 => '暂无轨迹信息',
      1 => '已揽收',
      2 => '在途中',
        201 => '到达派件城市',
        202 => '派件中',
        211 => '已放入快递柜或驿站',
      3 => '已签收',
        301 => '正常签收',
        302 => '派件异常后最终签收',
        304 => '代收签收',
        311 => '快递柜或驿站签收',
      4 => '问题件',
        401 => '发货无信息',
        402 => '超时未签收',
        403 => '超时未更新',
        404 => '拒收(退件)',
        405 => '派件异常',
        406 => '退货签收',
        407 => '退货未签收',
        412 => '快递柜或驿站超时未取',
    ];

    // 运费支付方式
    const PAY_TYPE_LIST = [
          1 => '现付',
          2 => '到付',
          3 => '月结',
          4 => '第三方付',
    ];

    // 哪些快递编号需要邮政编码
    const CODE_REQUIRED_ZIP = [
        'EMS', // EMS
        'YZPY', // 邮政快递包裹
        'YZBK' // 邮政国内标快
    ];

    // 哪些快递编号需要CustomerName
    const CODE_NEED_CUSTOM_NAME = [
      'JD', 'SF'
    ];

}